﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp.Domain.Entities;

namespace ERP.ERPModels.OrderManage
{
    /// <summary>
    /// 销售发货订单主表实体类
    /// </summary>
    public class SaleSendOrder:Entity<int>
    {
        /// <summary>
        /// 订单编码（varchar(30)，默认排序规则，非空）
        /// </summary>
        public string? OrderCode { get; set; }

        /// <summary>
        /// 关联订单编码（varchar(30)，默认排序规则，可为空）
        /// </summary>
        public string? RelatedOrderCode { get; set; }

        /// <summary>
        /// 订单日期（timestamp，非空）
        /// </summary>
        public DateTime OrderDate { get; set; }

        /// <summary>
        /// 发货类型（varchar(30)，默认排序规则，可为空）
        /// </summary>
        public string? DeliveryType { get; set; }

        /// <summary>
        /// 仓库编码（varchar(30)，默认排序规则，非空）
        /// </summary>
        public string? WarehouseCode { get; set; }

        /// <summary>
        /// 客户名称（varchar(100)，默认排序规则，非空）
        /// </summary>
        public string? CustomerName { get; set; }

        /// <summary>
        /// 联系人（varchar(50)，默认排序规则，可为空）
        /// </summary>
        public string? ContactPerson { get; set; }

        /// <summary>
        /// 销售人员（varchar(50)，默认排序规则，可为空）
        /// </summary>
        public string? Salesperson { get; set; }

        /// <summary>
        /// 支付方式（varchar(30)，默认排序规则，可为空）
        /// </summary>
        public string? PaymentMethod { get; set; }

        /// <summary>
        /// 基础货币（varchar(10)，默认排序规则，可为空）
        /// </summary>
        public string? BaseCurrency { get; set; }

        /// <summary>
        /// 交易货币（varchar(10)，默认排序规则，可为空）
        /// </summary>
        public string? TransactionCurrency { get; set; }

        /// <summary>
        /// 总金额（numeric(12,2)，非空）
        /// </summary>
        public decimal TotalAmount { get; set; }

        /// <summary>
        /// 总数量（numeric(12,2)，可为空）
        /// </summary>
        public decimal? TotalQuantity { get; set; }

        /// <summary>
        /// 总件数（int4，可为空）
        /// </summary>
        public int? TotalPackages { get; set; }

        /// <summary>
        /// 送货地址（varchar(200)，默认排序规则，可为空）
        /// </summary>
        public string? DeliveryAddress { get; set; }

        /// <summary>
        /// 备注（text，默认排序规则，可为空）
        /// </summary>
        public string? Remarks { get; set; }

        /// <summary>
        /// 创建者（varchar(50)，默认排序规则，非空）
        /// </summary>
        public string? CreatedBy { get; set; }

        /// <summary>
        /// 更新者（varchar(50)，默认排序规则，可为空）
        /// </summary>
        public string? UpdatedBy { get; set; }

        /// <summary>
        /// 记录创建时间（timestamp，可为空，默认值 CURRENT_TIMESTAMP）
        /// </summary>
        public DateTime? RecordCreateTime { get; set; }

        /// <summary>
        /// 记录更新时间（timestamp，可为空，默认值 CURRENT_TIMESTAMP）
        /// </summary>
        public DateTime? RecordUpdateTime { get; set; }

        /// <summary>
        /// 状态（用户添加字段）
        /// </summary>
        public int State { get; set; }
    }
}
